/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Extras;

import static Extras.GestorEstilos.getColorTerciario;
import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;

/**
 * Clase para el manejo de los estilos de JTables
 *
 * @author Denise
 */
public class TableCellRendererPropio extends DefaultTableCellRenderer {

    /**
     * Constructor por defecto
     */
    public TableCellRendererPropio() {
    }

    /**
     * Para setear las características de cada celda en una tabla
     *
     * @param table JTable tabla a la que pertenece la celda
     * @param value Object el valor de la celda
     * @param isSelected boolean true si la celda está seleccionada
     * @param hasFocus boolean true si la celda posee el foco
     * @param row int índice de la fila a la que pertenece la celda
     * @param column int índice de la columna a la que pertenece la celda
     * @return el JTextArea a incluirse dentro de la celda
     */
    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        setFont(table.getFont());
        //table.getTableHeader().setDefaultRenderer(new HeaderCellRenderer());
        Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
        ((JLabel) cell).setHorizontalAlignment((int) JLabel.CENTER_ALIGNMENT);
        if (isSelected) {
            cell.setForeground(new java.awt.Color(0, 0, 0));
            cell.setBackground(new Color(168, 255, 168));
        } else {
            cell.setForeground(new java.awt.Color(20,20,20));
            cell.setBackground(getColorTerciario(GestorEstilos.colorActual));
        }
        table.setGridColor(new Color(120,120,120));
        ((JLabel) cell).setText((value == null) ? "" : value.toString());
        ((JLabel) cell).setFont(new Font("Tahoma", Font.BOLD, 12));
        return cell;
    }
}
